package com.itheima.d1_properties;

import java.util.Map;
import java.util.Properties;
import java.util.Set;

/*
     目标：掌握使用Properties类读取属性文件中的键值对信息。

        Properties是一个Map集合（键值对集合），但是我们一般不会当集合使用。
        核心作用：Properties是用来代表属性文件的，通过Properties可以读写属性文件里的内容。

        构造方法
            public Properties()	用于构建Properties集合对象（空容器）
        成员方法
            public String getProperty(String key) 	根据键获取值(其实就是get方法的效果)
            public Set<String> stringPropertyNames()	获取全部键的集合（其实就是ketSet方法的效果）
            public Object setProperty(String key, String value) 	保存键值对数据到Properties对象中去。
 */
public class PropertiesTest1 {
    public static void main(String[] args) {
        Properties prop = new Properties();
        prop.setProperty("zhangsan","22");
        prop.setProperty("lisi","28");
        prop.setProperty("wangweu","12");
        prop.setProperty("xiaoguo","29");

        String zhangsan = prop.getProperty("zhangsan");
        System.out.println(zhangsan);

        Set<String> strings = prop.stringPropertyNames();
        System.out.println(strings);

        for (String string : strings) {
            String property = prop.getProperty(string);
            System.out.println(property);
        }

        Set<Map.Entry<Object, Object>> entries = prop.entrySet();
        for (Map.Entry<Object, Object> entry : entries) {
            Object key = entry.getKey();
            String property = prop.getProperty((String) key);
            System.out.println(key+":"+property);
        }
        System.out.println("----------------------");
        prop.put("z","0");
        prop.put("zq","10");
        prop.setProperty("lllllll","29");
        prop.forEach((k,v)-> System.out.println(k+":"+v));

    }
}
